﻿using System;
using Telerik.Windows.Controls.Scheduler;
using System.Collections.ObjectModel;
using Telerik.Windows.Controls;

namespace MedLink2011.Views.Patients.Controls.FirstLook
{
    public class SessionAppointmentCollection : ObservableCollection<SessionAppointment>, IAppointmentFactory
    {
        
        /// <summary>
        /// Gets sample appointments.
        /// </summary>
        /// <value>The appointments.</value>
        public SessionAppointmentCollection(RadScheduler scheduler)
        {
            int month = DateTime.Now.Month;
            DateTime mondayDate = CalendarHelper.GetFirstDayOfWeek(DateTime.Today, DayOfWeek.Monday);
            DateTime satDate = CalendarHelper.GetFirstDayOfWeek(DateTime.Today, DayOfWeek.Saturday);
            DateTime lastsundayDate = CalendarHelper.GetEndOfMonth(DateTime.Today);

            SessionAppointment ajaxAppointment = new SessionAppointment();
            ajaxAppointment.Subject = "ASP.NET AJAX Or Silverlight Is The Future Of Web Development";
            ajaxAppointment.Body = "Understanding the future is critical for web developers. Decisions you make today need to be aware of what's coming if you're going to be successful on web. In this session, we'll examine ASP.NET AJAX and Silverlight to gain a deep understanding of how these technologies can help us solve the problems of a rich, ajaxified Internet. From the rich client-side library in ASP.NETAJAX that changes the way you write JavaScript to the power of .NET in the browser with Silverlight, understanding how to leverage these technologies is key for future ASP.NET applications. We'll also examine the future of web browsers and seek to understand how they will affect the applications we build";
            ajaxAppointment.Start = mondayDate.AddHours(11).AddMinutes(15);
            ajaxAppointment.End = mondayDate.AddHours(12).AddMinutes(20);
            ajaxAppointment.SessionRoom = "406";
            ajaxAppointment.Speaker = "Tom Black";
            ajaxAppointment.Level = 300;
            ajaxAppointment.Category = scheduler.Categories.GetCategoryByName("WebDevelopement");
            Add(ajaxAppointment);

            ajaxAppointment = new SessionAppointment();
            ajaxAppointment.Subject = "To AJAX Or Not To AJAX ";
            ajaxAppointment.Body = "This session shows the power of AJAX in ASP.NET applications and how it could be used the wrong way";
            ajaxAppointment.Start =  mondayDate.AddHours(13).AddMinutes(30);
            ajaxAppointment.End =  mondayDate.AddHours(14).AddMinutes(45);
            ajaxAppointment.SessionRoom = "406A";
            ajaxAppointment.Speaker = "Lino Smart";
            ajaxAppointment.Level = 200;
            ajaxAppointment.Category = scheduler.Categories.GetCategoryByName("WebDevelopement");
            Add(ajaxAppointment);

            SessionAppointment SQLAppointment = new SessionAppointment();
            SQLAppointment.Subject = "SQL 2008";
            SQLAppointment.Body = "SQL Server 2008 introduces support for Microsoft PowerShell. PowerShell is a powerful scripting shell that lets administrators and developers automate server administration and application deployment. It is more powerful than simple T-SQL and provides great features to SQL Server administrator. This session will cover the basics of the SQL Server providers in PowerShell.";
            SQLAppointment.Start = mondayDate.AddHours(15);
            SQLAppointment.End = mondayDate.AddHours(16).AddMinutes(15);
            SQLAppointment.SessionRoom = "406B";
            SQLAppointment.Speaker = "Vladi Pelev";
            SQLAppointment.Level = 300;
            SQLAppointment.Category = scheduler.Categories.GetCategoryByName("DataLayers");

            Add(SQLAppointment);
            DateTime tuesdayDay = mondayDate.AddDays(1);
            SessionAppointment slAppointment = new SessionAppointment();
            slAppointment.Subject = "Silverlight Made Easy";
            slAppointment.Body = "This session will introduce people to Silverlight with coding in C# and VB.NET to build high quality, robust and elegant web sites.";
            slAppointment.Start = mondayDate.AddHours(16).AddMinutes(30);
            slAppointment.End = mondayDate.AddHours(17).AddMinutes(45);
            slAppointment.SessionRoom = "701";
            slAppointment.Speaker = "Jack Tadros";
            slAppointment.Level = 200;
            slAppointment.Category = scheduler.Categories.GetCategoryByName("WebDevelopement");

            Add(slAppointment);

            SessionAppointment customAppointment = new SessionAppointment();
            customAppointment.Subject = "Control Customization In Silverlight 3";
            customAppointment.Body =
                "Silverlight 3 provides a rich set of options for customizing your controls. Unlike other technologies, creating user and custom controls is not necessary to get the customized control you want. In this talk I will cover Compositing, Styling, Templating and Custom Controls to help attendees understand when and how to customize their controls. ";
            customAppointment.Start = tuesdayDay.AddHours(9);
            customAppointment.End = tuesdayDay.AddHours(10).AddMinutes(30);
            customAppointment.SessionRoom = "701";
            customAppointment.Speaker = "Shoun Petrik";
            customAppointment.Level = 300;
            customAppointment.Category = scheduler.Categories.GetCategoryByName("WebDevelopement");
            Add(customAppointment);

            SessionAppointment scAppointment = new SessionAppointment();
            scAppointment.Subject = "Science Fiction Becomes Reality With WPF ";
            scAppointment.Body = "In this session you will see how the two worlds of science fiction and real-life software embrace each-other to form an astonishing mixture of art, user experience and functionality. We will show you a different perspective of how you can utilize modern technologies to achieve better interaction and presentation in ways you only consider possible in movies. ";
            scAppointment.Start = tuesdayDay.AddHours(13).AddMinutes(30);
            scAppointment.End = tuesdayDay.AddHours(14).AddMinutes(15);
            scAppointment.SessionRoom = "406";
            scAppointment.Speaker = "Jordan Varchev";
            scAppointment.Level = 200;
            scAppointment.Category = scheduler.Categories.GetCategoryByName("WindowsAndFrameworks");
            Add(scAppointment);


            SessionAppointment mossAppointment = new SessionAppointment();
            mossAppointment.Subject = "MOSS 2007 Web 2.0 Controls / AJAX / Silverlight";
            mossAppointment.Body = "Face it! The out of the box user interface for your Windows SharePoint Services 3.0 sites and your Microsoft Office SharePoint Server 2007 sites is BORING!  In this session we’ll look at spicing up your life a bit with many ways to make your SharePoint sites 'Web 2.0'. This session includes:"+
"1. New AJAX support provided with Service Pack 1. Learn how to AJAX enable your web.config files. Learn to AJAX enable your web parts and to call web services using AJAX. Integrate controls from the AJAX Control ToolKit."+ 
"2. A look at the SharePoint controls provided by third party Telerik. "+
"3. Silverlight integration into SharePoint "+
"And then watch your SharePoint sites come to life! ";
            mossAppointment.Start = tuesdayDay.AddHours(10).AddMinutes(45);
            mossAppointment.End = tuesdayDay.AddHours(12);
            mossAppointment.SessionRoom = "Lobby";
            mossAppointment.Speaker = "Ed Smith";
            mossAppointment.Level = 200;
            mossAppointment.Category = scheduler.Categories.GetCategoryByName("Sharepoint");
            Add(mossAppointment);

            SessionAppointment windowsAppointment = new SessionAppointment();
            windowsAppointment.Body = "Now hat WCF/WF services have gained some popularity companies are starting to ask the question 'How do we manage those services?'. The most common problems with the today’s middle-tier services are related to the deployment of those services to test, staging and production environments, observing the operation of the services deployed, scaling the services that hit the boundaries of their servers, and versioning the services without requiring all clients to get upgraded simultaneously. This talk will show Microsoft’s approach for solving some of these problems. We will start with a single long-running durable Workflow service implemented in .Net 4.0 and we will show how it gets it persistence working. Then we will show how to export it and how to import it in a different environment. After that we will see how to inspect and control instances of that service. ";
            windowsAppointment.Subject = "I Must Attend This Meeting Week Day.";
            windowsAppointment.Start = tuesdayDay.AddHours(10).AddMinutes(45);
            windowsAppointment.End = tuesdayDay.AddHours(12);
            windowsAppointment.SessionRoom = "406";
            windowsAppointment.Resources.Add(new Resource("Simeon Dimitrov", "Speaker"));
            windowsAppointment.Speaker = "Simeon Dimitrov";
            windowsAppointment.Level = 200;
            windowsAppointment.Category = scheduler.Categories.GetCategoryByName("WindowsAndFrameworks");
            Add(windowsAppointment);

            windowsAppointment = new SessionAppointment();
            windowsAppointment.Subject = 
            "Integrating WPF And WCF Into Office Business Applications ";
            windowsAppointment.Body = "This session will highlight many of the ways that the Windows Presentation Foundation (WPF) and the Windows Communications Foundation (WCF) can be leveraged in applications built with Visual Studio Tools for the Office System (VSTO). Visual Studio® 2008 introduced an array of new features aimed at a wide range of Office solution types. With Visual Studio 2008, you can build solutions that incorporate the native capabilities of the Office client applications (like Outlook) combined with the sophisticated UI capabilities of WPF that's connected to remote data and services via WCF and use the RAD features of LINQ<br/> to manipulate that data. These new technologies provide opportunities for building owerful solutions with functionality that was previously difficult or impossible to achieve. Now that Office has evolved into a true development platform, office-based solutions are becoming increasingly sophisticated, less document-focused, and more loosely coupled. This session will show you how easy it is to build robust solutions that leverage the latest technologies. WPF provides developers and designers with a unified programming model for building rich Windows smart client user experiences with Office client applications that incorporate UI, media, and documents. WCF contains a support framework and a design-time toolset for building service-oriented solutions that connect rich Office clients with powerful server-side functionality and remote data access. Visual Studio 2008 provides a simple GUI wizard that lets you consume WCF services without having to worry about service metadata, protocols, or XML configuration. ";
            windowsAppointment.Start = tuesdayDay.AddHours(16);
            windowsAppointment.End = tuesdayDay.AddHours(17).AddMinutes(15);
            windowsAppointment.SessionRoom = "406";
            windowsAppointment.Speaker = "John Stock";
            windowsAppointment.Level = 300;
            windowsAppointment.Category = scheduler.Categories.GetCategoryByName("WindowsAndFrameworks");
            Add(windowsAppointment);

            DateTime wednesday = tuesdayDay.AddDays(1);

            SessionAppointment sharepointAppointment = new SessionAppointment();
            sharepointAppointment.Subject =
            "Business Data Catalog Of Office Sharepoint Server And SQL Server ";
            sharepointAppointment.Body = "Business Data Catalog is a new business integration feature in Microsoft Office SharePoint Server 2007 to surface business data from back-end server applications without any coding. Business Data Catalog bridges the gap between the portal site and your business applications and enables you to bring in key data from various business applications to Office SharePoint Server 2007 lists, Web Parts, search, user profiles, and custom applications. To achieve this goal, Business Data Catalog provides homogeneous access to the underlying data sources with a metadata model that provides a consistent and simplified client object model. Business Data Catalog is the key infrastructural component around which the other Business Data features of Office SharePoint Server 2007 are built. We will explore how to expose SQL-Server 2005 data in a SP 2007 portal.";
            sharepointAppointment.Start = wednesday.AddHours(17).AddMinutes(30);
            sharepointAppointment.End = wednesday.AddHours(18).AddMinutes(45);
            sharepointAppointment.SessionRoom = "701";
            sharepointAppointment.Speaker = "Samuel Caron";
            sharepointAppointment.Level = 300;
            sharepointAppointment.Category = scheduler.Categories.GetCategoryByName("Sharepoint");
            Add(sharepointAppointment);

            windowsAppointment = new SessionAppointment();
            windowsAppointment.Subject =
            "Introduction To WWF ";
            windowsAppointment.Body = "With the .NET 3.0 Framework, developers were given the plumbing to create business process management solutions graphically. In this session, Mark will introduce the basics of working with Workflow Foundation. This is a 100 level talk for developers that are new to WF. We will spend some time talking about the architecture and when best to use a tool like WF for the greatest return. We'll also compare WF to BizTalk and learn that they are completely different worlds.";
            windowsAppointment.Start = wednesday.AddHours(11).AddMinutes(15);
            windowsAppointment.End = wednesday.AddHours(12).AddMinutes(30);
            windowsAppointment.SessionRoom = "701";
            windowsAppointment.Speaker = "Mark Daniels";
            windowsAppointment.Level = 200;
            windowsAppointment.Category = scheduler.Categories.GetCategoryByName("WindowsAndFrameworks");
            Add(windowsAppointment);


            SessionAppointment aspnetAppointment = new SessionAppointment();
            aspnetAppointment.Subject =
            "ASP.NET Providers";
            aspnetAppointment.Body = "";
            aspnetAppointment.Start = wednesday.AddHours(13).AddMinutes(30);
            aspnetAppointment.End = wednesday.AddHours(14).AddMinutes(45);
            aspnetAppointment.SessionRoom = "701";
            aspnetAppointment.Speaker = "Leo Castro";
            aspnetAppointment.Level = 300;
            aspnetAppointment.Category = scheduler.Categories.GetCategoryByName("WebDevelopement");
            Add(aspnetAppointment);



            SessionAppointment sqlAppointment = new SessionAppointment();
            sqlAppointment.Subject =
            "SQL Reporting Services 2005 And What's New In 2008 ";
            sqlAppointment.Body = "Business Data Catalog is a new business integration feature in Microsoft Office SharePoint Server 2007 to surface business data from back-end server applications without any coding. Business Data Catalog bridges the gap between the portal site and your business applications and enables you to bring in key data from various business applications to Office SharePoint Server 2007 lists, Web Parts, search, user profiles, and custom applications. To achieve this goal, Business Data Catalog provides homogeneous access to the underlying data sources with a metadata model that provides a consistent and simplified client object model. Business Data Catalog is the key infrastructural component around which the other Business Data features of Office SharePoint Server 2007 are built. We will explore how to expose SQL-Server 2005 data in a SP 2007 portal.";
            sqlAppointment.Start = wednesday.AddHours(13).AddMinutes(30);
            sqlAppointment.End = wednesday.AddHours(14).AddMinutes(15);
            sqlAppointment.SessionRoom = "406";
            sqlAppointment.Speaker = "Samuel Caron";
            sqlAppointment.Level = 200;
            sqlAppointment.Category = scheduler.Categories.GetCategoryByName("DataLayers");
            Add(sqlAppointment);

            SessionAppointment entityAppointment = new SessionAppointment();
            entityAppointment.Subject =
            "Deep Dive Into Entity Framework Object Services ";
            entityAppointment.Body = "The Entity Framework combined with the Entity Data Model (EDM) bring data access to a new level in Enterprise Applications. Entity Framework Object Services APIs, while providing a lot of automated functionality, are filled with features that give developers much more control over how objects are handled. The most important jobs of the ObjectContext are relationship management and change tracking. This session drills into how the ObjectContext manages relationships and how you can control its behavior. This is especially important in SOA scenarios where you may need to transport ObjectGraphs. We also look closely at change tracking, focusing on the challenges and solutions for dealing with data concurrency when moving objects across tiers in your enterprise applications. Knowing what to expect from these features and how to take control of them will empower you in your use of the Entity Framework and EDMs in your Web sites, SOA applications, and smart clients, as well as other applications that share the EDM.";
            entityAppointment.Start = wednesday.AddHours(10).AddMinutes(45);
            entityAppointment.End = wednesday.AddHours(12);
            entityAppointment.SessionRoom = "406";
            entityAppointment.Speaker = "Shoun Petrik";
            entityAppointment.Level = 400;
            entityAppointment.Category = scheduler.Categories.GetCategoryByName("DataLayers");
            Add(entityAppointment);

            DateTime thursday = wednesday.AddDays(1);
            SessionAppointment archAppointment = new SessionAppointment();
            archAppointment.Subject = "Object-Relational Mapping In Modern Architectures";
            archAppointment.Body =
            "WCF, WPF, Silverlight: Always new Buzzwords appear and come to market with new technologies, which are hard to learn. But how do those technologies integrate and collaborate? Data Access is usually encapsulated in a data access layer. Does this still make sense with the all over presence and acceptance of object-relational mapping (ORM)? Using surprisingly simple tools, you can implement basic and complex applications. This presentation shows that you need to rethink your architecture in order to implement persistent objects in nowadays application requirements. You will learn about the necessary feature set of an object-relational mapping tool and how it simplifies your daily work and how it reduces your data access code by 90%";
            archAppointment.Start = thursday.AddHours(16);
            archAppointment.End = thursday.AddHours(17).AddMinutes(15);
            archAppointment.SessionRoom = "406A";
            archAppointment.Speaker = "John Blessenohl";
            archAppointment.Level = 300;
            archAppointment.Category = scheduler.Categories.GetCategoryByName("Architectures");
            Add(archAppointment);

            SessionAppointment telerikAppointment = new SessionAppointment();
            telerikAppointment.Subject = "Building Telerik Trainer In WPF And LINQ";
            telerikAppointment.Body =
            "This session is a technical case study on how Falafel built the main Telerik Video Trainer application. ";
            telerikAppointment.Start = thursday.AddHours(15);
            telerikAppointment.End = thursday.AddHours(16).AddMinutes(15);
            telerikAppointment.SessionRoom = "406A";
            telerikAppointment.Speaker = "Lino Tadros";
            telerikAppointment.Level = 300;
            telerikAppointment.Category = scheduler.Categories.GetCategoryByName("WindowsAndFrameworks");
            Add(telerikAppointment);

            SessionAppointment funAppointment = new SessionAppointment();
            funAppointment.Subject = "Fun With Programming ";
            funAppointment.Body =
            "Looking for something fun and inspirational? Let Carl Franklin show you some of the fun you can have with Visual Studio .NET and a few cool ideas, from artificial intelligence to practical joke software.";
            funAppointment.Start = thursday.AddHours(13).AddMinutes(30);
            funAppointment.End = thursday.AddHours(14).AddMinutes(30);
            funAppointment.SessionRoom = "406B";
            funAppointment.Speaker = "Saiman Franklin";
            funAppointment.Level = 300;
            funAppointment.Category = scheduler.Categories.GetCategoryByName("Architectures");
            Add(funAppointment);

            SessionAppointment mvcAppointment = new SessionAppointment();
            mvcAppointment.Subject = "ASP.NET MVC: Red Pill Or Blue Pill? ";
            mvcAppointment.Body =
            "There is an emerging technology in the ASP.NET world that is going to radically change the way you think of ASP.NET development, and it's called ASP.NET MVC. In this session, we'll introduce ASP.NET MVC and explore this new way to think about web application development. We'll look at how you build a basic ASP.NET MVC application, how ASP.NET MVC enables TDD for the web, and discuss the pros and cons of switching to MVC. Attend this session and you'll know everything you need know to get started with ASP.NET MVC- or know enough to decide to stay with Web Forms. The choice is yours. ";
            mvcAppointment.Start = thursday.AddHours(14).AddMinutes(30);
            mvcAppointment.End = thursday.AddHours(15).AddMinutes(45);
            mvcAppointment.SessionRoom = "406B";
            mvcAppointment.Speaker = "Todd Angel";
            mvcAppointment.Level = 300;
            mvcAppointment.Category = scheduler.Categories.GetCategoryByName("WebDevelopement");
            Add(mvcAppointment);

            DateTime friday = thursday.AddDays(1);

            SessionAppointment blendAppointment = new SessionAppointment();
            blendAppointment.Subject = "Blend For Silverlight Developers ";
            blendAppointment.Body =
            "In this session, we will dig into how developers can use Blend for their Silverlight 2 applications. This includes tips and tricks for common graphic tasks like shiny buttons, clipping regions and grouping/layers. Common programmer tasks like event handling, data binding and stying is also covered. ";
            blendAppointment.Start = friday.AddHours(16).AddMinutes(00);
            blendAppointment.End = friday.AddHours(17).AddMinutes(15);
            blendAppointment.SessionRoom = "406B";
            blendAppointment.Speaker = "Tom Wildermuth";
            blendAppointment.Level = 200;

            blendAppointment.Category = scheduler.Categories.GetCategoryByName("WebDevelopement");
            Add(blendAppointment);

            SessionAppointment officeAppointment = new SessionAppointment();
            officeAppointment.Subject = "Building Office Applications With VSTO";
            officeAppointment.Body =
            "This session focuses on the power and developer productivity of Visual Studio Tools for the Office System (VSTO). VSTO is a .NET Smart Client technology and this session will delve into the tips and tricks, positives and negatives when designing and building smart client applications with VSTO. VSTO allows you to build managed code applications with .NET languages like VB.NET and C# and have the functionality of those applications manifest in the rich user interfaces of Microsoft Excel, Word, PowerPoint, Visio, Outlook and others from the Office stack. You will learn just how easy it is to build powerful VSTO applications in this session and how to deploy those applications. This session will cover all versions of VSTO (versions 1.0 through 3.0) targeting both Office 2003 and Office 2007. VSTO addresses some of the biggest challenges that Office solution developers are facing today, including separation of data and view elements, server-side and offline scenarios, seamless integration with the Visual Studio tools, deployment and updating. Lastly, this session will delve into the future of VSTO and its potential coverage of document-centric and add-in solutions for the entire Office System stack. ";
            officeAppointment.Start = friday.AddHours(13).AddMinutes(30);
            officeAppointment.End = friday.AddHours(14).AddMinutes(15);
            officeAppointment.SessionRoom = "406A";
            officeAppointment.Speaker = "Tom Huckaby";
            officeAppointment.Level = 200;
            officeAppointment.Category = scheduler.Categories.GetCategoryByName("Architectures");
            Add(officeAppointment);

            SessionAppointment trickAppointment = new SessionAppointment();
            trickAppointment.Subject = "Pragmatic ASP.NET Tips, Tricks, And Tools";
            trickAppointment.Body =
            "Every experienced ASP.NET developer has picked up a few cool tricks or useful tools that they put to use on every new project after they've learned them. This session draws upon the experience of many successful ASP.NET developers and distills this knowledge into a collection of tips and tricks you can start using in your work today. Some of the topics covered in this session include error handling, tracing, caching, base page classes, site layout and architecture, and data access best practices. You'll learn about highly reusable Http Modules and Handlers and a few code routines you may want to add to your personal library. Stick around for part 2 if you’re interested in learning about a wide variety of (usually free) tools available to aid ASP.NET developers. This session is appropriate for anyone who is working with ASP.NET today, and especially for those who are new to ASP.NET.";
            trickAppointment.Start = friday.AddHours(16).AddMinutes(30);
            trickAppointment.End = friday.AddHours(17).AddMinutes(45);
            trickAppointment.SessionRoom = "406A";
            trickAppointment.Speaker = "Sam Smith";
            trickAppointment.Level = 200;
            trickAppointment.Category = scheduler.Categories.GetCategoryByName("WebDevelopement");
            Add(trickAppointment);

            SessionAppointment scrumAppointment = new SessionAppointment();
            scrumAppointment.Subject = "The Daily Scrum ";
            scrumAppointment.Body =
            "One of the most popular Agile project management and development methods, Scrum is starting to be adopted at major corporations and on very large projects. After an quick introduction to the basics of Scrum like: the Scrum Master, team, product owner, and burn down, and of course the daily Scrum, Stephen, Remi, and Joel show many real world applications of the methodology drawn from his own experience as a Scrum Master. Negotiating with the business, estimation, and team dynamics are all discussed as well as how to use Scrum in small organizations, large enterprise environments, and consulting environments. The speakers will also discuss using Scrum with virtual teams and even an offshoring environment. The session will finish with a large Q&A on best practices";
            scrumAppointment.Start = friday.AddHours(11).AddMinutes(15);
            scrumAppointment.End = friday.AddHours(12).AddMinutes(30);
            scrumAppointment.SessionRoom = "406A";
            scrumAppointment.Speaker = "Tony Forte";
            scrumAppointment.Level = 200;
            scrumAppointment.Category = scheduler.Categories.GetCategoryByName("Architectures");
            Add(scrumAppointment);

            SessionAppointment lunchAppointment = new SessionAppointment();
            lunchAppointment.Subject = "Lunch";
            lunchAppointment.Body = "You can enjoy fresh coffee and sandwiches every day from 12:30p.m. to 1:30p.m.";
            lunchAppointment.Start = mondayDate.AddHours(12).AddMinutes(30);
            lunchAppointment.End = mondayDate.AddHours(13).AddMinutes(30);
            lunchAppointment.Category = scheduler.Categories.GetCategoryByName("LunchAndCoffee");
            lunchAppointment.TimeMarker = TimeMarkers.Tentative;
            RecurrencePattern recurrencePattern = new RecurrencePattern();
            recurrencePattern.Frequency = RecurrenceFrequency.Daily;
            recurrencePattern.Interval = 1;
            recurrencePattern.MaxOccurrences = 5;
            recurrencePattern.DaysOfWeekMask = RecurrenceDays.WeekDays;

            lunchAppointment.RecurrenceRule = new RecurrenceRule(recurrencePattern);

            Add(lunchAppointment);
        }
        #region IAppointmentFactory Members

        public IAppointment CreateNewAppointment()
        {
            return new SessionAppointment();
        }

        #endregion
    }
}
